<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="Library">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="NativeTypes">
					<xs:complexType>
						<xs:sequence>
							<xs:element maxOccurs="unbounded" name="Type" type="TypeInformation" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:complexType mixed="false" name="TypeInformation">
		<xs:sequence minOccurs="1">
			<xs:element minOccurs="0" maxOccurs="unbounded" name="StrongDependency" type="DependencyInformation" />
			<xs:element minOccurs="0" maxOccurs="unbounded" name="WeakDependency" type="DependencyInformation" />
			<xs:element minOccurs="0" maxOccurs="unbounded" name="ServerSideEquivalent" type="ServerSideEquivalentTypeInformation" />
		</xs:sequence>
		<xs:attribute name="id" type="xs:unsignedByte" use="required" />
		<xs:attribute name="jsNamespace" type="xs:string" use="required" />
		<xs:attribute name="typeName" type="xs:string" use="required" />
		<xs:attribute name="inFile" type="xs:string" use="required" />
	</xs:complexType>

	<xs:complexType mixed="false" name="DependencyInformation">
		<xs:attribute name="id" type="xs:unsignedByte" use="required" />
	</xs:complexType>

	<xs:complexType mixed="false" name="ServerSideEquivalentTypeInformation">
		<xs:attribute name="type" type="xs:string" use="required" />
		<xs:attribute name="converter" type="xs:string" use="required" />
	</xs:complexType>
</xs:schema>